home *** CD-ROM | disk | FTP | other *** search
/ Champak 33 / Volume 33 - JOGO DISK .iso / Games / shoot_em_in.swf / scripts / DefineSprite_136 / frame_73 / DoAction.as
Text File  |  2007-01-15  |  3KB  |  85 lines

  1. function collisions()
  2. {
  3.    lDistTrans = Math.sqrt((_Yfloor - 2.44 - vYBall) * (_Yfloor - 2.44 - vYBall) + (50 - vZBall) * (50 - vZBall));
  4.    if(ldball / 2 + ldpot / 2 >= lDistTrans and -3.66 - (ldball / 2 + ldpot / 2) < vXball and vXball < 3.66 + (ldball / 2 + ldpot / 2))
  5.    {
  6.       if(lcol1 != 1)
  7.       {
  8.          lypot = _YFloor - 2.44;
  9.          lzpot = 50;
  10.          vyslope = vYBall - lypot;
  11.          vzslope = vZBall - lzpot;
  12.          vYBall = lypot + vyslope / lDistTrans * (ldball / 2 + ldpot / 2);
  13.          vZBall = lzpot + vzslope / lDistTrans * (ldball / 2 + ldpot / 2);
  14.          lLenght = Math.sqrt(vyslope * vyslope + vzslope * vzslope);
  15.          vyslope /= lLenght;
  16.          vzslope /= lLenght;
  17.          lambda = vYVector * vyslope + vZVector * vzslope;
  18.          vYVector = 2 * lambda * vyslope - vYVector;
  19.          vZVector = 2 * lambda * vzslope - vZVector;
  20.          vYVector /= vDiv;
  21.          vZVector /= vDiv;
  22.          lcol1 = 4;
  23.          _parent.mcsounds.gotoAndPlay("hitbut");
  24.       }
  25.    }
  26.    if(0 < lcol1)
  27.    {
  28.       lcol1--;
  29.    }
  30.    lDistTrans = Math.sqrt((-3.66 - vXBall) * (-3.66 - vXBall) + (50 - vZBall) * (50 - vZBall));
  31.    if(ldball / 2 + ldpot / 2 >= lDistTrans and _YFloor - (2.44 + (ldball / 2 + ldpot / 2)) < vYball)
  32.    {
  33.       if(lcol2 != 1)
  34.       {
  35.          lxpot = -3.66;
  36.          lzpot = 50;
  37.          vxslope = vXBall - lxpot;
  38.          vzslope = vZBall - lzpot;
  39.          vXBall = lxpot + vxslope / lDistTrans * (ldball / 2 + ldpot / 2);
  40.          vZBall = lzpot + vzslope / lDistTrans * (ldball / 2 + ldpot / 2);
  41.          lLenght = Math.sqrt(vxslope * vxslope + vzslope * vzslope);
  42.          vxslope /= lLenght;
  43.          vzslope /= lLenght;
  44.          lambda = vXVector * vxslope + vZVector * vzslope;
  45.          vXVector = 2 * lambda * vxslope - vXVector;
  46.          vZVector = 2 * lambda * vzslope - vZVector;
  47.          vXVector /= vDiv;
  48.          vZVector /= vDiv;
  49.          lcol2 = 4;
  50.          _parent.mcsounds.gotoAndPlay("hitbut");
  51.       }
  52.    }
  53.    if(0 < lcol2)
  54.    {
  55.       lcol2--;
  56.    }
  57.    lDistTrans = Math.sqrt((3.66 - vXBall) * (3.66 - vXBall) + (50 - vZBall) * (50 - vZBall));
  58.    if(ldball / 2 + ldpot / 2 >= lDistTrans and _YFloor - (2.44 + (ldball / 2 + ldpot / 2)) < vYball)
  59.    {
  60.       if(lcol3 != 1)
  61.       {
  62.          lxpot = 3.66;
  63.          lzpot = 50;
  64.          vxslope = vXBall - lxpot;
  65.          vzslope = vZBall - lzpot;
  66.          vXBall = lxpot + vxslope / lDistTrans * (ldball / 2 + ldpot / 2);
  67.          vZBall = lzpot + vzslope / lDistTrans * (ldball / 2 + ldpot / 2);
  68.          lLenght = Math.sqrt(vxslope * vxslope + vzslope * vzslope);
  69.          vxslope /= lLenght;
  70.          vzslope /= lLenght;
  71.          lambda = vXVector * vxslope + vZVector * vzslope;
  72.          vXVector = 2 * lambda * vxslope - vXVector;
  73.          vZVector = 2 * lambda * vzslope - vZVector;
  74.          vXVector /= vDiv;
  75.          vZVector /= vDiv;
  76.          lcol3 = 4;
  77.          _parent.mcsounds.gotoAndPlay("hitbut");
  78.       }
  79.    }
  80.    if(0 < lcol3)
  81.    {
  82.       lcol3--;
  83.    }
  84. }
  85.